#!/bin/sh

usage() {
  echo >&2 "\
Usage: $0 [OPTION]...
Bootstrap this package from the checked-out sources.
"
}

for option
do
  case $option in
  --help)
    usage
    exit;;
  *)
    echo >&2 "$0: $option: unknown option"
    exit 1;;
  esac
done

# Get gnulib files.

echo "$0: getting gnulib files..."
git submodule init || exit $?
git submodule update || exit $?
GNULIB_SRCDIR=.gnulib

ls po/*.po 2>/dev/null | sed 's|.*/||; s|\.po$||' > po/LINGUAS

# Run autopoint, to get po/Makevars.template:
# Also, released autopoint has the tendency to install macros that have
# been obsoleted in current gnulib, so run this before gnulib-tool.
autopoint --force

# Autoreconf runs aclocal before libtoolize, which causes spurious
# warnings if the initial aclocal is confused by the libtoolized
# (or worse out-of-date) macro directory.
libtoolize --copy --install || glibtoolize --copy --install

# Create gettext configuration.
echo "$0: Creating po/Makevars from po/Makevars.template ..."
rm -f po/Makevars
sed '
  /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
  /^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/
  /^XGETTEXT_OPTIONS *=/{
    s/$/ \\/
    a\
        '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
  }
' po/Makevars.template >po/Makevars

gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
<$gnulib_tool || exit

modules='
byteswap
c-ctype
fcntl
full-read
full-write
gitlog-to-changelog
gnu-make
gnumakefile
iconv
ignore-value
inttypes
lock
maintainer-makefile
manywarnings
progname
strndup
vasprintf
vc-list-files
warnings
xstrtol
xstrtoll
'

$gnulib_tool			\
  --libtool                     \
  --avoid=dummy			\
  --with-tests			\
  --m4-base=m4			\
  --source-base=gnulib/lib	\
  --tests-base=gnulib/tests	\
  --import $modules

# Disable autopoint and libtoolize, since they were already done above.
AUTOPOINT=true LIBTOOLIZE=true autoreconf --verbose --install
